# 多线程的基本例子
import threading
import time 

loop = 1000000

n = 0

def task(count):
    global n
    for _ in range(count):
        n += 1

def task2(count):
    global n
    for _ in range(count):
        n += 1
        # time.sleep(0.00001)

t1 = threading.Thread(target=task, args=(loop, ))
t2 = threading.Thread(target=task2, args=(loop, ))

t1.start()
t2.start()

t1.join()
t2.join()

print(n)  # n 很可能不等于 0
# 在python  3.10 以上的版本 可以默认是线程安全的 
